package com.attendance.www.hr.service;

import com.attendance.www.hr.beans.RequestBean;
import com.attendance.www.hr.beans.RequestPageBean;

/**
 * 休假申请接口
 * @author 张鑫
 *
 */
public interface IRequestService {

	/**
	 * 保存验证日期区间--zx
	 * 不可用，返回true
	 * @param requestBean
	 * @return
	 */
	public boolean verifySaveRequest(RequestBean requestBean);
	
	/**
	 * 修改验证日期区间
	 * @param requestBean
	 * @return
	 */
	public boolean verifyUpdateRequest(RequestBean requestBean);
	
	/**
	 * 封账验证
	 * @param requestBean
	 * @return
	 */
	public boolean verifySaveRequestClosed(RequestBean requestBean);
	
	/**
	 * 新增申请
	 * @param requestBean
	 * @return
	 */
	public boolean saveRequest(RequestBean requestBean);
	/**
	 * 查询休假申请信息
	 * @param requestBean
	 * @param startNum
	 * @return
	 */
	public RequestPageBean getFurloughRequestList(RequestBean requestBean, Integer startNum, Integer pageCount);
	/**
	 * 修改休假（或出差或外出）申请
	 * @param requestBean
	 * @param requestId
	 * @return
	 */
	public boolean updateRequest(RequestBean requestBean);
	/**
	 * 删除申请
	 * @param requestId
	 * @return
	 */
	public boolean deleteRequest(Integer requestId);
	
	/**
	 * 撤回申请
	 * @param requestId
	 * @return
	 */
	public boolean getBackRequest(Integer requestId);
	
	/**
	 * 撤回申请验证
	 * true 不能撤回，false 可以撤回
	 * @param requestId
	 * @return
	 */
	public boolean verifyGetBackRequest(Integer requestId);

	/**
	 * 查询加班申请信息
	 * @param requestBean
	 * @param startNum
	 * @return
	 */
	public RequestPageBean getWorkRequestList(RequestBean requestBean, Integer startNum, Integer pageCount);
	/**
	 * 查询出差或外出申请信息
	 * @param requestBean
	 * @param startNum
	 * @param pageCount
	 * @return
	 */
	public RequestPageBean getAwayRequestList(RequestBean requestBean, Integer startNum, Integer pageCount);
	
}
